//package javaCode.chapter08.houserent.utils;
//
///**
// * 工具类的作用：
// * 处理各种情况的用户输入，并且能够按照程序员的需求，得到用户的控制台输入
// */
//
//import java.util.*;
//
//public class Utility {
//    //静态属性
//    private static Scanner scanner = new Scanner(System.in);
//
//    /**
//     * 功能：读取键盘输入的一个菜单选项，值：1--5的范围
//     *
//     * @return 1-5
//     */
//    public static char readMenuSelection() {
//        char c;
//        for (; ; ) {
//            String str = readKeyBoard(1, false); //包含一个字符
//            c = str.charAt(0);//将字符串转换成字符char
//            if (c != '1' && c != '2' && c != '3' && c != '4' && c != '5') {
//                System.out.print("选择错误，请重新输入");
//            }else  break;
//        }
//        return c;
//    }
//
//    /**
//     * 功能：读取键盘输入的一个字符
//     * @return 一个字符
//     */
//    public static char readChar(){
//        String str = readKeyBoard(1,false);//就是一个字符
//        return str.charAt(0);
//    }
//
//    /**
//     * 功能：读取键盘输入的一个字符，如果直接按回车，则返回指定的默认值
//     * @param defaultValue 指定的默认值
//     * @return 默认值或输入的字符
//     */
//    public static char readChar(char defaultValue) {
//        String str = readKeyBoard(1,true);//要么是空字符串，
//        return (str.length() == 0) ? defaultValue : str.charAt(0);
//    }
//
//    /**
//     * 功能：读取键盘输入的整形，长度小于2位
//     * @return 整形
//     */
//    public static int readInt(){
//        int n;
//        for(;;){
//            String str = readKeyBoard(2,false);
//            try {
//                n = Integer.parseInt(str);//将字符串转换成整形
//                break;
//            }catch (NumberFormatException e){
//                System.out.print("数组输入错误，请重新输入: ");
//            }
//        }
//        return n;
//    }
//
//    /**
//     * 功能：读取键盘输入的 整形或默认值，如果直接回车，则返回默认值
//     * @param defaultValue 指定的默认值
//     * @return 整形或默认值
//     */
//    public static int readInt(int defaultValue) {
//        int n;
//        for (;;){
//            String str = readKeyBoard(10,true);
//            if (str.equals("")) {
//                return defaultValue;
//            }
//        }
//    }
//
//    /**
//     * 功能：读取键盘输入的指定长度的字符串
//     * @param limit 限制的长度
//     * @return 指定长度的字符串
//     */
//    public static String readString(int limit) {
//        return readKeyBoard(limit,false);
//    }
//
//    /**
//     * 功能：读取键盘输入的指定长度的字符串或默认值，如果直接回车，返回默认值
//     * @param limit 限制的长度
//     * @param defaultValue 指定的默认值
//     * @return 指定长度的字符串
//     */
//    public static String readString(int limit, String defaultValue) {
//        String str = readKeyBoard(limit ,true);
//        return str.equals("") ? defaultValue : str;
//    }
//
//    /**
//     * 功能：读取键盘输入的正确选项，Y或N
//     * 将小的功能，封装到一个方法中
//     * @return Y或N
//     */
//    public static char readConfirmSelection(){
//        System.out.println("请输入你的选择(Y/N):");
//        char c;
//        for(;;) {//无限循环
//            //在这里，将接受到字符，转成了大写字母
//            //y => Y n=>N
//            String str = readKeyBoard(1,false).toUpperCase();
//            c = str.charAt(0);
//            if (c == 'Y' || c== 'N'){
//                break;
//            }else {
//                System.out.println("选择错误，请重新输入: ");
//            }
//        }
//        return c;
//    }
//
//}
//
//
//
//
//
